Object-Role Modeling

Not to be confused with Object-relational mapping.

Object Role Modeling (ORM) is a software engineering conceptual modeling method that allows the semantics of a universe of discourse to be modeled using natural languages and diagrams. ORM has been used commercially for more than 30 years as a data modeling methodology, and has recently becoming popular not only for ontology engineering but also as a graphical notation for the modeling of business rules, XML-Schemes, data warehouses, requirements engineering and web forms.[1]

Contents

Overview

Object-Role Modeling simplifies the design process by using natural language, as well as intuitive diagrams which can be populated with examples, and by examining the information in terms of simple or elementary facts. By expressing the model in terms of natural concepts, like objects and roles, it provides a conceptual approach to modeling.

ORM is fact-oriented. A fact is a simple statement such as "Employee X was hired on DATE". It facilitates modeling, transforming, and querying business information in terms of the underlying facts of interest, where all facts and rules may be verbalized in language easily understood by non-technical users of those business domains. Fact-oriented textual languages are based on formal subsets of native languages, so are easier to understand by business people than technical languages like the Object Constraint Language (OCL).[3]

ORM is attribute-free : unlike Entity Relationship (ER) and Unified Modeling Language (UML) models, ORM treats all elementary facts as relationships, thus regarding decisions for grouping facts into structures (e.g. attribute-based entity types, classes, relation schemes, XML schemas) as implementation concerns irrelevant to business semantics. By avoiding attributes in the base model, ORM enhances semantic stability and populatability, and facilitates natural verbalization. Fact-oriented modeling includes procedures for mapping to attribute-based structures, such as those of ER or UML.[4]

Fact-oriented graphical notations are more expressive than ER and UML graphical notations. ORM models can be automatically mapped to deductive databases such as datalog.[5]

ORM2 is the latest generation of Object-Role Modeling. The main objectives for the ORM 2 graphical notation are:[6]

Design procedure

The information system's life cycle typically involves several stages: feasibility study; requirements analysis; conceptual design of data and operations; logical design; external design; prototyping; internal design and implementation; testing and validation; and maintenance. ORM's conceptual schema design procedure (CSDP) focuses on the analysis and design of data. The seven steps of the conceptual schema design procedure are:[7]

  1. Transform familiar information examples into elementary facts, and apply quality checks
  2. Draw the fact types, and apply a population check
  3. Check for entity types that should be combined, and note any arithmetic derivations
  4. Add uniqueness constraints, and check arity of fact types
  5. Add mandatory role constraints, and check for logical derivations
  6. Add value, set comparison and subtyping constraints
  7. Add other constraints and perform final checks

Tools

ORMLite

ORMLite is a free, light-weight, open-source modeling tool that supports ORM 2 notation. It was created as a self-learning environment to help popularize ORM. It can verbalize facts and generate relational models. Version 0.12i was released in October 2011. [8]

NORMA

Dr. Terry Halpin lead the effort of the NORMA ORM modeling tool spearheaded by Neumont University and currently through The ORM Foundation,[9] a UK-based non-profit organization dedicated to the promotion of the fact-oriented approach to information modeling.

NORMA (Natural ORM Architect for Visual Studio)[9] is a free and open source plug-in to Microsoft Visual Studio 2005, Visual Studio 2008 and Visual Studio 2010. It supports ORM 2 (second generation ORM), and maps ORM models to a variety of implementation targets, including major database engines, object-oriented code, and XML schema, including:

Database engines Microsoft Sql Server, Oracle, DB2, MySQL, PostgreSQL, etc.
Programming languages LINQ to SQL, PLiX (Programming Language in XML)[10] and PHP
Other XML schemas (XSD)

Advantages of NORMA include:

Dr. Terry Halpin's latest book, Information Modeling and Relational Databases, Second Edition [11] "...uses the notation of ORM 2 (second generation ORM), as supported by the NORMA (Neumont ORM Architect) tool..." (page 10), and "(...)At the time of writing, the Neumont ORM Architect (NORMA) tool provides the most complete support for the ORM 2 notation discussed in this book." (Preface, xxv).

As of April 2009, the NORMA project[12] delivers frequent releases and is almost ready to encompass the entire life-cycle of databases.

DogmaModeler

DogmaModeler is a free ontology modeling tool based on Object role modeling. The philosophy of DogmaModeler is to enable non-IT experts to model ontologies with a little or no involvement of an ontology engineer.

This challenge is tackled in DogmaModeler through well-defined methodological principles. The first version of DogmaModeler was developed at the Vrije Universiteit Brussel.

DogmaModeler open source status

The DogmaModeler Project[14] shows no activity since its creation in 2006, and the source code for the project is not available through that site. The latest version of the program, available at the http://jarrar.info/Dogmamodeler website is dated on October 27, 2006.

Since then the project seems to have been continued and expanded into several other tools at the Vrije Universiteit Brussel's Semantics Technology and Applications Research Laboratory (VUB STARLab).[15] A note on that site states "Users who only use DOGMAModeler for their own researches can contact (author's email) for the free download."[16]

VisioModeler

The former ORM tool known as VisioModeler is freely available as an unsupported product from Microsoft Corporation (as a 25 MB download). Models developed in VisioModeler may be exported to Microsoft's current and future ORM solutions. To obtain the free VisioModeler download, go to http://download.microsoft.com, search by selecting Keyword Search, enter the keyword "VisioModeler", select your operating system (e.g. Windows XP—Note: VisioModeler does NOT work under Windows Vista), change the setting for "Show Results for" to "All Downloads", and hit the "Find It!" button. This should bring up a download page that includes the title "VisioModeler (Unsupported Product Edition)". Clicking on this will take you to the link for the download file MSVM31.exe. Click on this to do the download.

The early ORM tools such as IAST (Control Data) and RIDL* were followed by InfoDesigner, InfoModeler and VisioModeler.

When Microsoft bought the Visio Corporation, Microsoft extended VisioModeler and made it a component of Microsoft Visual Studio. This was Microsoft's first ORM implementation and it was published in the 2003 Enterprise Architects release of Visual Studio as a component of the tool called "Microsoft Visio for Enterprise Architects (VEA)".

In the same year, a companion "how to" book was published by Morgan Kaufmann entitled "Database Modeling with Microsoft Visio for Enterprise Architects" .[17] Microsoft has retained the ORM functionality in the high-end version of Visual Studio 2005 and the Morgan Kaufmann book remains a suitable user guide for both versions.

Visio for Enterprise Architects (VEA)

Microsoft included a powerful ORM and logical database modeling solution within its Visio for Enterprise Architects (VEA) product. The 2005 release of VEA also included some minor upgrades (e.g. a driver for SQL Server 2005 was included).

CaseTalk

A modeling tool called CaseTalk[18] based on the ORM-dialect known as Fully Communication Oriented Information Modeling (FCO-IM) is available from Bommeljé Crompvoets en partners b.v., headquartered in Utrecht, The Netherlands. To find out more about this tool, check the CaseTalk website.

Infagon

A freeware ORM tool known as Infagon is available from Mattic software. Infagon is also based on the FCO-IM dialect. To download or obtain more details about this tool, click the Infagon home page.[19]

Other tools

History

The roots of ORM can be traced to research into semantic modeling for information systems in Europe during the 1970s. There were many pioneers and this short summary does not by any means mention them all. An early contribution came in 1973 when Michael Senko wrote about "data structuring" in the IBM Systems Journal. In 1974 Jean-Raymond Abrial contributed an article about "Data Semantics". In June 1975, Eckhard Falkenberg's doctoral thesis was published and in 1976 one of Falkenberg's papers mentions the term "object-role model".

G.M. Nijssen made fundamental contributions by introducing the "circle-box" notation for object types and roles, and by formulating the first version of the conceptual schema design procedure. Robert Meersman extended the approach by adding subtyping, and introducing the first truly conceptual query language.

Object role modeling also evolved from the Natural language Information Analysis Method, a methodology that was initially developed by the academic researcher, G.M. Nijssen in the Netherlands (Europe) in the mid-1970s and his research team at the Control Data Corporation Research Laboratory in Belgium, and later at the University of Queensland, Australia in the 1980s. The acronymNIAM originally stood for "Nijssen's Information Analysis Methodology", and later generalised to "Natural language Information Analysis Methodology" and Binary Relationship Modeling since G. M. Nijssen was only one of many people involved in the development of the method.

In 1989 Terry Halpin completed his PhD thesis on ORM, providing the first full formalization of the approach and incorporating several extensions.

Also in 1989, Terry Halpin and G.M. Nijssen co-authored the book "Conceptual Schema and Relational Database Design" and several joint papers, providing the first formalization of Object-Role Modeling. Since then Dr. Terry Halpin has authored six books and over 160 technical papers.

A graphical NIAM design tool which included the ability to generate database-creation scripts for Oracle, DB2 and DBQ was developed in the early 1990s in Paris. It was originally named Genesys and was marketed successfully in France and later Canada. It could also handle ER diagram design. It was ported to SCO Unix, SunOs, DEC 3151's and Windows 3.0 platforms, and was later migrated to succeedingMicrosoft operating systems, utilising XVT for cross operating system graphical portability. The tool was renamed OORIANE and is currently being used for large data warehouse and SOA projects.

A recent variation of ORM is referred to as FCO-IM. It distinguishes itself from traditional ORM in that it takes a strict communication-oriented perspective. Rather than modeling the domain and its essential concepts, it purely models the grammar used to discourse about the domain. Another recent development is the use of ORM in combination with standardised relation types with associated roles and a standard machine-readable dictionary and taxonomy of concepts as are provided in the Gellish English dictionary. Standardisation of relation types (fact types), roles and concepts enables increased possibilities for model integration and model reuse.

See also

References

  1. ^ http://logicblox.pbworks.com/f/Paper+Jarrar+-+automated+reasonning+on+ORM.pdf
  2. ^ a b Stephen M. Richard (1999). Geologic Concept Modeling. U.S. Geological Survey Open-File Report 99-386.
  3. ^ http://www.orm.net/pdf/ORM2_TechReport1.pdf
  4. ^ http://www.orm.net/pdf/ORM2_TechReport1.pdf
  5. ^ http://www.ormfoundation.org/files/folders/orm_2010/entry2360.aspx
  6. ^ http://www.orm.net/pdf/ORM2.pdf Halpin, T. 2005, ‘ORM 2’, On the Move to Meaningful Internet Systems 2005: OTM 2005 Workshops, eds R. Meersman, Z. Tari, P. Herrero et al., Cyprus. Springer LNCS 3762, pp 676-87.
  7. ^ Terry Halpin (2001). "Object-Role Modeling: an overview"
  8. ^ [1]
  9. ^ a b The Foundation home page
  10. ^ http://sourceforge.net/projects/plix The PLiX Project at SourceForge
  11. ^ Halpin, Terry; Morgan, Tony (March 2008), Information Modeling and Relational Databases: From Conceptual Analysis to Logical Design (2nd ed.), Morgan Kaufmann, ISBN 978-0123735683 
  12. ^ NORMA - The ORM Project at Sourceforge
  13. ^ DogmaModeler website
  14. ^ The DogmaModeler project at SourceForge
  15. ^ http://www.starlab.vub.ac.be/website/research
  16. ^ http://www.starlab.vub.ac.be/website/tools
  17. ^ Halpin, Terry; Evans, Ken; Hallock, Pat; Maclean, Bill (September 2003), Database Modeling with Microsoft Visio for Enterprise Architects, Morgan Kaufmann, ISBN 978-1558609198 
  18. ^ http://www.casetalk.com/ The CaseTalk website
  19. ^ http://www.infagon.com
  20. ^ http://www.pna-group.com Doctool and CogNIAM (CogNIAM tools)
  21. ^ http://dataconstellation.com/ActiveFacts/ ActiveFacts
  22. ^ http://www.starlab.vub.ac.be/website/tools DogmaStudio
  23. ^ http://www.orthogonalsoftware.com/products.html Orthogonal Toolbox

Further reading

External links